perm filename DFTP.MRC[UP,DOC]1 blob sn#240501 filedate 1976-10-09 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00014 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00003 00002	NOTE!!!  AS YET, THERE IS NO SAIL NODE ON THE DATACOMPUTER.  LES
C00005 00003	
C00007 00004	     The datacomputer is a shared  large-scale  data  storage  utility
C00012 00005	DFTP User's Guide                                             Page   2
C00016 00006	DFTP User's Guide                                             Page   3
C00021 00007	DFTP User's Guide                                             Page   4
C00022 00008	                    DFTP Command Summary
C00024 00009	DFTP Command Summary                                Page   2
C00026 00010				A Sample DFTP Dialog
C00028 00011	Connect to a subdirectory.
C00030 00012	Connect to a subdirectory.
C00033 00013	List all nodes under the CONNECT node.
C00036 00014	Connect to the ATTACH node.
C00038 ENDMK
C⊗;
NOTE!!!  AS YET, THERE IS NO SAIL NODE ON THE DATACOMPUTER.  LES
AND I ARE TRYING TO GET CCA TO CREATE ONE.
HOWEVER, UNTIL ONE IS CREATED, SAIL USERS WILL USE THE ITS NODE.
TO GET A NODE CREATED ON THE DATACOMPUTER FOR YOU(WHEN DFTP IS RUN,
IT WILL LOG YOU IN AS ITS.<PROGRAMMER NAME>, EX: ITS.MRC ), SEND
MAIL TO MRC AND I WILL CREATE A NODE FOR YOU FAIRLY SOON THEREAFTER
(WHENEVER I SEE THE MESSAGE).
PLEASE SPECIFY IF [A] YOU WANT A PASSWORD ON YOUR NODE(IF SO, THEN
NOBODY CAN ACCESS THE NODE WITHOUT KNOWING THE PASSWORD) AND IF SO,
WHAT PASSWORD; AND [B] IF YOU WISH TO RESTRICT ACCESS TO THE NODE
TO NETWORK CONNECTIONS COMING FROM A PARTICULAR HOST.

		-- MARK CRISPIN (MRC)





     










                   Computer Corporation of America




















           Datacomputer File Transfer Program User's Guide










                             January 1976
     The datacomputer is a shared  large-scale  data  storage  utility
offering  data storage and data management services to other computers
on the Arpanet.  The system is intended to be used  as  a  centralized
facility  for  archiving  data,  for  sharing  data  among the various
network hosts, and for providing inexpensive on-line storage for sites
needing  to  supplement  their  local capability.  The datacomputer is
implemented on dedicated hardware, and comprises a separate  computing
system  specialized for data management.  Logically, the system can be
viewed as a closed box shared  by  multiple  external  processors  and
accessed in a standard notation called datalanguage.

     The Datacomputer File Transfer Program (DFTP) is  a  user-invoked
program  that  stores  and  retrieves local files on the datacomputer.
DFTP translates simple user  commands  into  datalanguage,  sends  the
datalanguage  and data to the datacomputer, processes the messages and
data returned from the datacomputer, and  notifies  the  user  of  the
results.   DFTP  also  manages  local  file input/output and secondary
network connections to and from the datacomputer.


                            The Directory
                            ←←← ←←←←←←←←←

     The DFTP datacomputer  directory  is  a  tree,  with  site  nodes
anchored  to a common root node, user nodes subordinate to site nodes,
and files beneath user nodes.  A user's  name  space  may  be  further
divided into subdirectories of arbitrary depth.  Pictorially,
                       <root>
                       /    \
                   site      site    ...
                  /    \
              user      user    ...
             /    \
         file      subdirectory    ...
                  /            \
              file              subdirectory    ...
                               /            \
                           file              file    ...

     Any node in the directory can be accessed via a generalized means
for  specifying  paths  through  the  directory  tree.   The mechanism
consists of a context, or anchoring point, for name references, and  a
pathname, which is the sequence of node names, starting at the anchor,
defining the desired branch of the directory tree.

     There are three contexts: the top context,  the  attach  context,
and  the  connect  context (syntactically indicated by three, two, and
one left angle brackets, respectively).  The top context (<<<) anchors
the  pathname  at  the root node and is used primarily for referencing
other site and user nodes.  The attach context (<<) is a path, set  by
the  ATTACH  command  (and by DFTP automatically at the beginning of a
session), and usually ends with a user node.  It is used mainly  as  a
reference  point  for  name space division beneath the user node.  The
connect context (<) is a  path  (initially  the  same  as  the  attach
DFTP User's Guide                                             Page   2



context), set by the CONNECT command, and conventionally terminates in
a subdirectory.  Contexts need not always be specified  --  each  DFTP
command  has  a  default context (which is the connect context for all
commands except ATTACH and CONNECT, which  have  as  their  respective
defaults the top context and the attach context).

     The pathname part of the directory path consists of a sequence of
node  names  (consecutive levels in the tree) separated by right angle
brackets.  A password may be necessary in acquiring access  privileges
at  a  particular  node,  in which case the node name is followed by a
colon and the password.

     Some examples of directory paths:
          <<<CCA>HACKER:>WALDO
Starting at the top context, the pathname references the  subdirectory
WALDO  under user HACKER at site CCA (with a password supplied to gain
access to HACKER).
          <<MACROS>COMMON>SYSMAC.MAC
Starting at  the  attached  context  (presumably  a  user  node),  the
pathname  references the file SYSMAC.MAC under the COMMON subdirectory
of the MACROS subdirectory.


                               Commands
                               ←←←←←←←←

     DFTP command and argument input is similar to TENEX, with command
recognition and TENEX editing controls.  In particular,
          <control-A> deletes a character,
          <control-R> retypes the line,
          <control-X> and <rubout> delete the line,
          <escape> and <space> are separators, and
          <carriage return>, <line feed> and <eol> are terminators.

     The DFTP commands and their arguments are:
          ATTACH [path]
          CONNECT (path)
          COPY [source path] [destination path]
          DELETE [path]
          DIRECTORY (path)
               CREATION
               TERSE
               VERBOSE
          GET [path] (local synonym)
               RETRIEVE is equivalent to GET.
          PUT [path] (remote synonym)
               STORE is equivalent to PUT.
          SHOW-DATALANGUAGE
          NO-DATALANGUAGE
          TIME-TRANSFERS
          UNTIME-TRANSFERS
          VERIFY [path] (remote synonym)
          QUIT
Items in square brackets are required arguments; items in  parentheses
DFTP User's Guide                                             Page   3



are optional ones.

     The  ATTACH  command  sets  the  attach  context  and   initiates
datacomputer accounting functions.

     The CONNECT command sets the connect context.  The default (if no
path is input) is the attach context.

     Copies of DFTP files are made with the COPY  command,  which  can
also be used to move and rename files (in conjunction with DELETE).

     Subdirectories and files are deleted  with  the  DELETE  command.
The  path  argument  of  the  command  may  have  *'s  in the place of
subdirectories, files, and/or  extensions,  which  indicate  that  all
objects  at  that  level are to be deleted.  If the path is terminated
with an escape, all objects below the path will also be deleted.

     The DIRECTORY command  lists  the  part  of  the  DFTP  directory
selected  by  its  path  argument.   Escape  and * operate in the same
manner as in the DELETE command.  The default (if no path is input) is
the  current  context and all objects beneath it.  Subcommands include
TERSE, VERBOSE, and CREATION.  TERSE lists names only.  VERBOSE  lists
all   directory   information   associated   with  a  node,  including
datacomputer  creation  date  (in  Greenwich  mean  time)  and   space
allocated  (in  TENEX pages).  CREATION gives the dates and times that
files were originally created on the local computer.

     The GET and PUT commands retrieve and store local disk  files  on
the  datacomputer.  Files of any type (e.g., text, binary image) up to
500 TENEX pages (2000 TOPS-10 blocks) in size can  be  stored.   Files
may  be  stored  and  retrieved  with destination names different from
their source names, in which  case  the  synonym  option  is  used  by
completing  the  first  argument to the GET or PUT with an escape or a
space.  The commands then operate as
          GET [datacomputer file] as [local file]
and
          PUT [local file] as [datacomputer file].

     The SHOW-DATALANGUAGE and NO-DATALANGUAGE  commands  respectively
allow  and  inhibit  the output to the user's terminal of the messages
sent to and received from the datacomputer.

     Data transfer rates are calculated and given to the user when the
TIME-TRANSFERS command has been invoked.  The calculations are avoided
with the UNTIME-TRANSFERS command.

     The VERIFY command compares a local file with a datacomputer file
(word by word) and reports differences.

     QUIT exits gracefully from DFTP, closing the datacomputer network
connections.
connections.
DFTP User's Guide                                             Page   4



     There are three types of  messages  that  DFTP  gives  the  user.
Comments  surrounded  by  square  brackets are primarily informational
messages, and are never errors.  Parentheses enclose non-fatal errors,
such  as "(DION: NAME NOT FOUND IN DIRECTORY)", which is the result of
an attempt to GET a nonexistent file.   This  message  comes  directly
from  the datacomputer, indicated by the name and colon at the head of
the message.  Fatal error messages are surrounded by  question  marks,
and of course never occur.
                    DFTP Command Summary
                    ←←←← ←←←←←←← ←←←←←←←










                           Paths


<path> ::= <context>
    | <context> <pathname>
    | <pathname>
<context> ::= <                         (connect context)
    | <<                                (attach context)
    | <<<                               (top context)
<pathname> ::= <node>
    | <node> . <node>
    | <node> > <pathname>
<node> ::= <name>
    | <name> : <password>
    | *




















Notes:
     Any printing ASCII characters except <, >, ., :, *,  ?,
          ', and " may be used in a <name>.
     Any printing ASCII characters (plus space) except >, .,
          ', and " may be used in a <password>.
DFTP Command Summary                                Page   2



                          Commands



ATTACH [path]

CONNECT [path] (1)

COPY [source path] [destination path]

DELETE [path] (2)

DIRECTORY [path] (2) (3)
     CREATION
     TERSE
     VERBOSE

GET (RETRIEVE) [path] [synonym (local file name)] (4)

PUT (STORE) [path] [synonym (path)] (4)

QUIT

SHOW-DATALANGUAGE

NO-DATALANGUAGE

TIME-TRANSFERS

UNTIME-TRANSFERS

VERIFY [path] [synonym (path)] (4)






Notes:
     Input arguments are indicated by square brackets.
     The connect context is  the  default  context  for  all
          commands  except ATTACH and CONNECT, which have as
          their respective defaults the top context and  the
          attach context.
     (1) The default (if no path is input) is  the  attached
          node.
     (2) If the path is terminated by an escape or a  space,
          it includes all inferior nodes.
     (3) The default (if no path is input) is the  connected
          node  and  all  its  inferior  nodes.  The default
          subcommand is TERSE.
     (4) The second argument is optional.
			A Sample DFTP Dialog





 [Attaching]

;List the ATTACH node.
; (user HACKER under site CCA)
*DIRECTORY <<
**TERSE
    CCA
        HACKER

;List the CONNECT node.
; (same as the ATTACH node (initially set as such))
*DIRECTORY <
**TERSE
    CCA
        HACKER

;List all nodes under the CONNECT node.
; (the argument to the DIRECTORY command is a space)
; (files are indicated by "[F]")
*DIRECTORY [Nodes]
**TERSE
    CCA
        HACKER
            LIBRARY
                DFTP
                    MAC 	[F]
                READ
                    MAC 	[F]
                    SAV 	[F]
            WALDO 	[F]

;Store a file.
; (WALDO already exists (the old copy will be deleted when confirmed))
*PUT WALDO
 [Old File][Confirm]
;Connect to a subdirectory.
; (LIBRARY already exists)
*CONNECT LIBRARY
 [Old Node]

;List the CONNECT node.
*DIRECTORY <
**TERSE
    CCA
        HACKER
            LIBRARY

;List all files with MAC extensions under the CONNECT node.
; (*'s may be used at any level)
*DIRECTORY *.MAC
**TERSE
    CCA
        HACKER
            LIBRARY
                DFTP
                    MAC 	[F]
                READ
                    MAC 	[F]

*TIME-TRANSFERS

;Retrieve a file.
; ("[OK]" indicates that data transfer is commencing)
*GET DFTP.MAC
 [OK]
 (63691 Baud (636912 bits in 10 seconds))

*UNTIME-TRANSFERS

;Compare a local file with the datacomputer version.
*VERIFY DFTP.MAC
 [OK]
;Connect to a subdirectory.
; (SAVE is a new node)
; (the default context of the CONNECT command is the ATTACH node)
*CONNECT SAVE
 [New Node][Confirm]

;List the CONNECT node.
*DIRECTORY <
**TERSE
    CCA
        HACKER
            SAVE

;Copy an existing datacomputer file to a new one.
; (the old file is SAV.DFTP under subdirectory CCA of host COMMON)
; (the new file is DFTP.SAV under the CONNECT node)
*COPY <<<COMMON>CCA>SAV.DFTP [To] DFTP.SAV
 [New File]

;Copy an existing datacomputer file to a new one.
; (the old file is READ.SAV under the LIBRARY subdirectory)
; (the new file is READ.SAV under the CONNECT node)
; (the user's allocation will be exceeded by the COPY)
*COPY <<LIBRARY>READ.SAV [To] READ.SAV
 [New File]
 (ANCLIM: NEW ALLOC WOULD EXCEED SPACE LIMITS)

;Retrieve a file.
; (store READ.SAV temporarily on local disk as TMP.TMP)
; (a space after READ.SAV invokes the synonym feature)
*GET <<LIBRARY>READ.SAV [As] TMP.TMP
 [OK]

;Delete a file.
; (delete READ.SAV to make room for the new copy)
*DELETE <<LIBRARY>READ.SAV [Confirm]

;Store a file.
; (restore the file temporarily held on local disk)
; (a space as the file name invokes TENEX name recognition (">" prompt))
*PUT >TMP.TMP;1 [Old version]  [As] READ.SAV
 [New File]
;List all nodes under the CONNECT node.
*DIRECTORY [Nodes]
**TERSE
    CCA
        HACKER
            SAVE
                DFTP
                    SAV 	[F]
                READ
                    SAV 	[F]

;List all nodes under the CONNECT node.
; (list all information (other than CREATION) (in datacompuer format))
*DIRECTORY [Nodes]
**VERBOSE
    CCA
        HACKER
            SAVE
                ] M-PG=54253473 USED=40
                ] IN-N=4 IN-F=2
                ] CREA=760218200600
                DFTP
                    ] M-PG=54253473 USED=30
                    ] IN-N=1 IN-F=1
                    ] CREA=760218200638
                    SAV
                        ] B-AL=21 USED=20 O-AL=21 RECS=10240
			] CREA=760218200639 WRIT=760218200643 READ=0
			] DUMP=000000000000 D-ID=000000000000
		READ
		    ] M-PG=54253473 USED=10
		    ] IN-N=1 IN-F=1
		    ] CREA=760218200928
		    SAV
			] B-AL=2 USED=1 O-AL=2 RECS=425
			] CREA=760218200929 WRIT=760218200933 READ=0
			] DUMP=000000000000 D-ID=000000000000

;List all nodes under the CONNECT node.
; (list local creation dates (preserved across DFTP transfers))
*DIRECTORY [Nodes]
**CREATION
    CCA
	HACKER
	    SAVE
		DFTP
		    SAV 17-JAN-76 23:25:48
		READ
		    SAV 10-JUN-74 13:53:55
;Connect to the ATTACH node.
; (the argument to the CONNECT command is a space)
*CONNECT [Attached Node]
 [Old Node]

:List all nodes under the CONNECT node.
*DIRECTORY [Nodes]
**TERSE
    CCA
	HACKER
	    LIBRARY
		DFTP
		    MAC		[F]
		READ
		    MAC		[F]
	    WALDO	[F]
	    SAVE
		DFTP
		    SAV		[F]
		READ
		    SAV		[F]

*QUIT